
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class test {
    public static void main(String args[])
            {
                //1.数组转换为集合
                //定义一个数组
                String [] strs = {"a","b","c"};
                //定义一个新的集合通过aslist进行转换
                List<String> stringList = Arrays.asList(strs);
                System.out.println(stringList);
                //1.1注意:直接使用add、remove、clear方法会报错
                //stringList.add("abc");
                //1.2如果想要正常的使用add等修改方法，需要重新new一个ArrayList
                List<String> trueStringList = new ArrayList<>(Arrays.asList(strs));
                trueStringList.add("abc");
                System.out.println(trueStringList);
                //2.集合转数组
                /*
                * 1.定义一个集合
                * 2。定义一个新的数组且大小一定要大于list的大小
                * 3.通过toArray将其转化为数组
                * */
                List<Integer> integerList = new ArrayList<>();
                integerList.add(1);
                integerList.add(2);
                integerList.add(3);
                //新生成的数组大小一定要大于原List的大小
                Integer[] integers = new Integer[3];
                integerList.toArray(integers);
                System.out.println(Arrays.asList(integers));


/*
* 集合去重？
* 一
* 1.set集合元素是具有唯一性，利用set集合特性就直接可以去重
* 2.利用list中的元素创建HashSet集合，此时set中进行了去重操作
* 3.清空list集合
* 4.将去重后的元素重新添加到list中
* 二
* 1.创建一个新的list集合，用于存储去重后的元素
    List listTemp = new ArrayList();
* 2.遍历list集合
    for (int i = 0; i < list.size(); i++) {
* 3.判断listTemp集合中是否包含list中的元素
    if (!listTemp.contains(list.get(i))) {
* 4.将未包含的元素添加进listTemp集合中
    listTemp.add(list.get(i));
    }
}
* */



/*
*1.通过for把集合进行遍历，if判断不为空的时候把元素加到集合中，再把集合rentun出去就可以了
*2.使用系统的api（迭代器）从集合中删除指定的元素，
* removeAll()删除存在于指定集合中的 arraylist 里的所有元素
* remove()删除 arraylist 里的单个元素
public static <T> List<T> removeNull(List<? extends T> oldList) {
    // 临时集合
    List<T> listTemp = new ArrayList();
    for (int i = 0;i < oldList.size(); i++) {
        // 保存不为空的元素
        if (oldList.get(i) != null) {
            listTemp.add(oldList.get(i));
        }
    }
    return listTemp;
}

*/
/*
* 据库查询按字段去重
*1.GROUP BY 结合聚合函数如
* 最大值max()
* 最小值min()
* 平均值avg()
* 返回行数count()
* 返回第一个记录值first()
* 返回最后一个记录last()
* 返回综合sum()....... */

            }
}
